package itcz.example.pattern.behavior_type.state.demo_AI;

/**
 * @ClassName: Client
 * @Author: ITCZ
 * @Date: 2025-07-26
 * @Description:
 */
public class Client {

    public static void main(String[] args) {

        Elevator elevator = new Elevator();

        // 初始停止状态
        elevator.stop();      // 输出: 电梯已在停止状态
        elevator.open(); // 输出: 正在开启电梯门... (状态变为开门)
        System.out.println("当前状态：" + elevator.getCurrentState().getClass().getSimpleName());

        System.out.println("\n--- 开门状态下操作 ---");
        elevator.open(); // 输出: 电梯门已是开启状态
        elevator.close();// 输出: 正在关闭电梯门... (状态变为关门)
        System.out.println("当前状态：" + elevator.getCurrentState().getClass().getSimpleName());

        System.out.println("\n--- 关门状态下操作 ---");
        elevator.run();      // 输出: 电梯开始运行... (状态变为运行)
        elevator.stop();     // 输出: 电梯正在停止... (状态变为停止)
        System.out.println("当前状态：" + elevator.getCurrentState().getClass().getSimpleName());

        System.out.println("\n--- 运行状态下操作 ---");
        elevator.run();      // 输出: 电梯已在运行中
        elevator.open(); // 输出: ERROR: 运行中禁止开门！
        System.out.println("当前状态：" + elevator.getCurrentState().getClass().getSimpleName());

    }
}
